/**
 *  vector2.h
 *  AwkwardPaint - Engine
 *
 *  Date: 11/08/2013
 *
 *  Language: C++
 *
 *  @author Carl McCaffrey
 *
 */
#ifndef VECTOR2_H
#define VECTOR2_H

class Vector2
{
    public:
        float x, y;

        Vector2(void);
        Vector2(float xPos, float yPos);

        float Magnitude(void);
        void Normalize(void);

        static float Dot(Vector2 vec1, Vector2 vec2);
        static void Project(Vector2 axis, Vector2 vertex[], float &min, float &max);

        bool operator==(Vector2 vec);
        bool operator!=(Vector2 vec);

        Vector2 operator=(Vector2 vec);
        Vector2 operator-(void);
        Vector2 operator-(Vector2 vec);
        Vector2 operator+(Vector2 vec);
        Vector2 operator*(float f);
        Vector2 operator/(float f);

        Vector2 operator+=(Vector2 vec);
        Vector2 operator-=(Vector2 vec);
        Vector2 operator*=(float f);
        Vector2 operator/=(float f);
};

#endif // VECTOR2_H
